package com.yb.bussiness.information;

import java.util.List;
import java.util.Map;

import com.yb.domain.goods.TgInformation;
import com.yb.domain.goods.TgInformationFormBean;
import com.yb.util.framework.PageUtil;


public interface InformationService {

	/**
	 * 保存或修改资讯
	 * @param tgInformation
	 */
	public void saveOrUpdate(TgInformation tgInformation);

	/**
	 * 根据条件查询资讯
	 * @return  Map<String,Object>
	 */
	public  Map<String,Object> findAll(TgInformationFormBean formBean,String page,String row);

	/**
	 * 查询新闻
	 * @param id
	 * @return TmBaseinfo
	 */
	public TgInformation read(Long id);
	
	   /**
     * 查询推荐新闻
     * @param id
     * @return TmBaseinfo
     */
    public TgInformation readByMessId(String id);
	
    /**
     * 查询新闻
     * @param categoryFlag
     * @return TmBaseinfo
     */
    public TgInformation readBycategoryFlag(int categoryFlag);
    
	/**
	 * 批量删除资讯
	 * @param idString
	 * @return
	 */
    public boolean deleteByIdString(String idString);
    
    /**
     * 根据商家发布信息id删除推荐资讯
     * @param id
     * @return
     */
    public boolean deleteByMessId(String id);
    
    /**
     * 根据类别id(第一级)查找相应的资讯
     * @param categoryId
     * @param start
     * @param limit
     * @return
     */
    public List<TgInformation> findByCategory(Long categoryId, int start, int limit);
    
    /**
     * 根据类别id(第一级)查找相应的资讯 首页使用
     * @param categoryId
     * @param start
     * @param limit
     * @return
     */
    public List<TgInformation> findByCategoryTask(Long categoryId, int start, int limit);
    
    /**
     * 根据类别id(第二级)查找相应的资讯
     * @param categoryId
     * @param start
     * @param limit
     * @return
     */
    public List<TgInformation> findByCategoryChild(Long categoryId, int start, int limit);
    
    /**
     * 根据类别id(第二级)查找相应的资讯
     * @param categoryId
     * @param start
     * @param limit
     * @return
     */
    public List<TgInformation> findByCategoryChild2(Long categoryId, int start, int limit);
    
    /**
     * 根据类别id(第一级)查找相应的热点资讯
     * @param categoryId
     * @param start
     * @param limit
     * @return
     */
    public List<TgInformation> findByCategoryHot(Long categoryId, int start, int limit);
    
    /**
     * 查找最新的热门资讯中的4个图文
     * @return
     */
    public List<TgInformation> findHotImgInfo();
    
    /**
     * 查找最新的热门资讯中的4个图文
     * @return
     */
    public List<TgInformation> findImgInfo();
    
    /**
     * 查找3个热门活动
     * @return
     */
    public List<TgInformation> findHotActivity();

    
    /**
     * 根据种类id查询资讯
     * @param categoryId
     * @param typeId
     * @param page
     * @param limit
     * @return
     */
    public PageUtil findByCategoryId(Long categoryId,
            int page, int limit);
    
    public List<TgInformation> findHotInfomation();
    
    /**
     * 通过二级类别id查找相应资讯总数
     * @param categroyId
     * @return
     */
    public Integer findCategoryInfoCount(Long categroyId);
    
    /**
     * 修改信息的权重信息
     * 
     * @param infoId
     * @param weights
     */
    public void modifyGoodsWeight(Long infoId, Integer weights);
    
}
